home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005.7z / CHIP Utilities 2005.iso / images / arachne.igz / arachne.img / LEVEL1 / KEYBRD.CAB / Bin / Keybrd.bat < prev   
DOS Batch File  |  2005-01-16  |  5KB  |  179 lines

  1. @if "%debug%"=="" echo off
  2. if "%1"==":" if not "%2"=="" goto %2
  3. :: keybrd Begin ::
  4.  
  5. if not exist %ramdrv%\bin\lmod.com %0 : _error missing lmod.com (check utils.%arcext%)
  6. if not exist %ramdrv%\bin\wbat.com %0 : _error missing wbat.com (check utils.%arcext%)
  7. if not exist %ramdrv%\bin\keyb.exe %0 : _error missing keyb.exe
  8.  
  9. :_start
  10. echo. >%tmp%\_keybrd.tmp
  11. if not exist %ramdrv%\etc\global.set goto _noglob
  12. type %ramdrv%\etc\global.set >%tmp%\_keybrd.tmp
  13. :_noglob
  14. if not exist %ramdrv%\etc\keybrd.set goto _nospec
  15. type %ramdrv%\etc\keybrd.set >%tmp%\_keybrd.tmp
  16. :_nospec
  17. xgrep -sy "^[:s]*@*[:s]*s?e?t?[:s]*keyb_.+=" %tmp%\_keybrd.tmp >%tmp%\_keybrd.bak
  18. if errorlevel 1 goto _noset
  19. xgrep -sy "^[:s]*@*[:s]*set[:s]+" %tmp%\_keybrd.bak >%tmp%\_keybrd.bat
  20. xgrep -syv "^[:s]*@*[:s]*set[:s]+" %tmp%\_keybrd.bak >%tmp%\_keybrd.tmp
  21. if errorlevel 1 goto _runset
  22. lmod /L* set []<%tmp%\_keybrd.tmp >>%tmp%\_keybrd.bat
  23. :_runset
  24. call %tmp%\_keybrd.bat
  25. :_noset
  26.  
  27. if "%keyb_ti%"=="" set keyb_ti=5
  28.  
  29. for %%i in (-u -U) do if "%1"=="%%i" goto _unload
  30. if "%1"=="/u" goto _unload
  31. if "%1"=="/U" goto _unload
  32. for %%i in (-c -C) do if "%1"=="%%i" goto _config
  33. if "%1"=="/c" goto _config
  34. if "%1"=="/C" goto _config
  35. for %%i in (-h -H -?) do if "%1"=="%%i" goto _usage
  36. if "%1"=="/h" goto _usage
  37. if "%1"=="/H" goto _usage
  38. if "%1"=="/?" goto _usage
  39.  
  40. if "%keyb_ncfg%"=="1" goto _nocfg
  41. set wcb1=%keyb_install%
  42. call w.bat box @%0:w_cfg #2,%keyb_ti%
  43. if errorlevel 3 goto _end
  44. set keyb_install=%wcb1%
  45. if errorlevel 2 goto _config
  46. :_nocfg
  47.  
  48. :_install
  49. if not "%keyb_install%"=="1" goto _skipkeyb
  50. %ramdrv%\bin\keyb.exe /L >%tmp%\_keybrd.bat
  51. lmod /L2* /S- [$1] [-]<%tmp%\_keybrd.bat >%tmp%\_keybrd.tmp
  52. echo @if "%%debug%%"=="" echo off >%tmp%\_keybrd.bat
  53. lmod for %%%%i in ([]) do if "%%1"=="%%%%i" goto _end<%tmp%\_keybrd.tmp >>%tmp%\_keybrd.bat
  54. echo %%ramdrv%%\bin\el!.com 1>>%tmp%\_keybrd.bat
  55. echo :_end>>%tmp%\_keybrd.bat
  56. call %tmp%\_keybrd.bat %keyb_kc%
  57. if errorlevel 1 set keyb_kc=
  58.  
  59. if "%keyb_kc%"=="" set keyb_kc=US
  60. echo KEYBRD: Loading keyboard driver (%keyb_kc%).
  61. %ramdrv%\bin\keyb.exe %keyb_kc% %1 %2 %3 %4 %5 %6 %7 %8
  62. if errorlevel 1 %0 : _error keyb installation failed
  63. goto _end
  64.  
  65. :_skipkeyb
  66. echo KEYBRD: Skip loading Keyboard driver
  67. goto _end
  68.  
  69. :_unload
  70. echo KEYBRD: Unloading Keyboard driver
  71. %ramdrv%\bin\keyb.exe /U
  72. goto _end
  73.  
  74. :_config
  75. %ramdrv%\bin\keyb.exe /U >%tmp%\nul
  76. %ramdrv%\bin\keyb.exe /L | lmod /L* /B'' [$1][$2][$3][$4]>%tmp%\_keybrd.tmp
  77. echo :w_list " Select keyboard code [x] " >%tmp%\_keybrd.bak
  78. echo US UNITED STATES standard keyboard (437)>>%tmp%\_keybrd.bak
  79. lmod /L2* /S- [$1] [$2:!]<%tmp%\_keybrd.tmp >>%tmp%\_keybrd.bak
  80. echo :: >>%tmp%\_keybrd.bak
  81. call w.bat list @%tmp%\_keybrd.bak:w_list
  82. if errorlevel 100 goto _default
  83. echo set keyb_kc=>%tmp%\_keybrd.bat
  84. echo %wbat% >%tmp%\_keybrd.tmp
  85. lmod set keyb_kc=[$1]<%tmp%\_keybrd.tmp >>%tmp%\_keybrd.bat
  86. call %tmp%\_keybrd.bat
  87. :_default
  88. if "%keyb_kc%"=="" set keyb_kc=US
  89.  
  90. echo :w_config "keybrd configuration" [x]>%tmp%\_keybrd.tmp
  91. echo.>>%tmp%\_keybrd.tmp
  92. echo Dialog timeout [$ keyb_ti,3] seconds.>>%tmp%\_keybrd.tmp
  93. echo.>>%tmp%\_keybrd.tmp
  94. echo [!] Skip "Run keybrd or go config?" dialog>>%tmp%\_keybrd.tmp
  95. echo.>>%tmp%\_keybrd.tmp
  96. echo [!] Install KEYB %keyb_kc% >>%tmp%\_keybrd.tmp
  97. echo.>>%tmp%\_keybrd.tmp
  98. echo          [ Save ]  [? Cancel ]>>%tmp%\_keybrd.tmp
  99. set wcb1=%keyb_ncfg%
  100. set wcb2=%keyb_install%
  101. call w.bat box @%tmp%\_keybrd.tmp:w_config
  102. if errorlevel 2 goto _end
  103. set keyb_ncfg=%wcb1%
  104. set keyb_install=%wcb2%
  105. set t_out=1
  106. call drd.bat %srcdrv%
  107. if errorlevel 1 set t_out=0
  108. wbat box @%0:w_wprot #1,%t_out%
  109. set t_out=
  110. if errorlevel 2 goto _start
  111. echo KEYBRD: Saving configuration...
  112. set | tfind /f1,5 "keyb_">%tmp%\_keybrd.bat
  113. if not exist %srcdrv%\etc\*.* mkdir %srcdrv%\etc
  114. if not exist %ramdrv%\etc\global.set goto _yglob
  115. xgrep -syv "^[:s]*@*[:s]*s?e?t?[:s]*keyb_.+=" %ramdrv%\etc\global.set >>%tmp%\_keybrd.bat
  116. :_yglob
  117. type %tmp%\_keybrd.bat >%srcdrv%\etc\global.set
  118. type %tmp%\_keybrd.bat >%ramdrv%\etc\global.set
  119. if exist %srcdrv%\etc\keybrd.set del %srcdrv%\etc\keybrd.set >%tmp%\nul
  120. if exist %ramdrv%\etc\keybrd.set del %ramdrv%\etc\keybrd.set >%tmp%\nul
  121. echo KEYBRD: Configuration saved to %srcdrv%\etc\global.set
  122. echo.
  123. goto _start
  124. :w_cfg " Run keybrd or go config? " [x]
  125.            (~press any key~: #? sec.)
  126.  
  127.   [!] Installing keyboard (%keyb_kc%) ...
  128.  
  129.     [ Ok ] [ Config ] [? Abort ]
  130. ::
  131. :w_wprot "Disable write protection..." [x]
  132.  
  133.   If the disk in drive %srcdrv% is write
  134.   protected, please disable the write
  135.   protection now in order to save settings.
  136.   You can re-enable write protection after
  137.   saving.
  138.  
  139.             [ Ok ]  [? Cancel ]
  140. ::
  141. :_usage
  142. echo Parameters:
  143. echo -c    Config mode
  144. echo -u    Unload
  145. echo -h    This help info
  146. echo.
  147. goto _end
  148. :_error
  149. shift
  150. shift
  151. echo.
  152. echo KEYBRD (error) %1 %2 %3 %4 %5 %6 %7 %8
  153. echo.
  154. @rem pause
  155. goto _end
  156. :_abort
  157. echo KEYBRD: Aborted...
  158. echo.
  159. @rem pause
  160. :_end
  161. set | tfind /f1,2 "W_" >%tmp%\_keybrd.tmp
  162. set | tfind /f1,5 "keyb_" >>%tmp%\_keybrd.tmp
  163. type %tmp%\_keybrd.tmp | lmod /L* /B= set [$1]=>%tmp%\_keybrd.bat
  164. call %tmp%\_keybrd.bat
  165. for %%i in (%tmp%\_keybrd.*) do if exist %%i del %%i >%tmp%\nul
  166. set ?=
  167. set wcb1=
  168. set wcb2=
  169. set wcb3=
  170. set wcb4=
  171. set wcb5=
  172. set wcb6=
  173. set wcb7=
  174. set wcb8=
  175. set wcb9=
  176. set wrb=
  177. set wbat=
  178. :: keybrd End ::
  179.